﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Project.Core.Model
{
    /// <summary>
    /// 全局的数据类型转换方法 也解决了为空转换异常的bug
    /// </summary>
    public static class UtilConvert
    {
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <returns></returns>
        //public static int ObjToInt(this object thisValue)
        //{
        //    int reval = 0;
        //    if (thisValue == null) return 0;
        //    if (thisValue != null && thisValue != DBNull.Value && int.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return reval;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <param name="errorValue"></param>
        ///// <returns></returns>
        //public static int ObjToInt(this object thisValue, int errorValue)
        //{
        //    int reval = 0;
        //    if (thisValue != null && thisValue != DBNull.Value && int.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return errorValue;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <returns></returns>
        //public static double ObjToMoney(this object thisValue)
        //{
        //    double reval = 0;
        //    if (thisValue != null && thisValue != DBNull.Value && double.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return 0;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <param name="errorValue"></param>
        ///// <returns></returns>
        //public static double ObjToMoney(this object thisValue, double errorValue)
        //{
        //    double reval = 0;
        //    if (thisValue != null && thisValue != DBNull.Value && double.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return errorValue;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <returns></returns>
        //public static string ObjToString(this object thisValue)
        //{
        //    if (thisValue != null) return thisValue.ToString().Trim();
        //    return "";
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <param name="errorValue"></param>
        ///// <returns></returns>
        //public static string ObjToString(this object thisValue, string errorValue)
        //{
        //    if (thisValue != null) return thisValue.ToString().Trim();
        //    return errorValue;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <returns></returns>
        //public static Decimal ObjToDecimal(this object thisValue)
        //{
        //    Decimal reval = 0;
        //    if (thisValue != null && thisValue != DBNull.Value && decimal.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return 0;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <param name="errorValue"></param>
        ///// <returns></returns>
        //public static Decimal ObjToDecimal(this object thisValue, decimal errorValue)
        //{
        //    Decimal reval = 0;
        //    if (thisValue != null && thisValue != DBNull.Value && decimal.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return errorValue;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <returns></returns>
        //public static DateTime ObjToDate(this object thisValue)
        //{
        //    DateTime reval = DateTime.MinValue;
        //    if (thisValue != null && thisValue != DBNull.Value && DateTime.TryParse(thisValue.ToString(), out reval))
        //    {
        //        reval = Convert.ToDateTime(thisValue);
        //    }
        //    return reval;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <param name="errorValue"></param>
        ///// <returns></returns>
        //public static DateTime ObjToDate(this object thisValue, DateTime errorValue)
        //{
        //    DateTime reval = DateTime.MinValue;
        //    if (thisValue != null && thisValue != DBNull.Value && DateTime.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return errorValue;
        //}
        ///// <summary>
        ///// 
        ///// </summary>
        ///// <param name="thisValue"></param>
        ///// <returns></returns>
        //public static bool ObjToBool(this object thisValue)
        //{
        //    bool reval = false;
        //    if (thisValue != null && thisValue != DBNull.Value && bool.TryParse(thisValue.ToString(), out reval))
        //    {
        //        return reval;
        //    }
        //    return reval;
        //}
    }
}
